Check and manipulate graph-related properties of an object of class bn.
Usage
# check whether the graph is acyclic/completely directed.
acyclic(x, directed = FALSE, debug = FALSE)
directed(x)
# check whether there is a path between two nodes.
path(x, from, to, direct = TRUE, underlying.graph = FALSE, debug = FALSE)
# build the skeleton or a complete orientation of the graph.
skeleton(x)
pdag2dag(x, ordering)
# build a subgraph spanning a subset of nodes.
subgraph(x, nodes)
Arguments
x
an object of class bn. skeleton(), acyclic(),
directed() and path() also accept objects of class
bn.fit.
from
a character string, the label of a node.
to
a character string, the label of a node (different from
from).
direct
a boolean value. If FALSE ignore any arc between
from and to when looking for a path.
underlying.graph
a boolean value. If TRUE the underlying
undirected graph is used instead of the (directed) one from the x
argument.
ordering
the labels of all the nodes in the graph; their order is the
node ordering used to set the direction of undirected arcs.
nodes
the labels of the nodes that induce the subgraph.
directed
a boolean value. If TRUE only completely directed
cycles are considered; otherwise undirected arcs will also be considered
and treated as arcs present in both directions.
debug
a boolean value. If TRUE a lot of debugging output is
printed; otherwise the function is completely silent.
Value
acyclic(), path() and directed() return a boolean value.
skeleton(), pdag2dag() and subgraph() return an object of
class bn.
References
Bang-Jensen J, Gutin G (2009). Digraphs: Theory, Algorithms and
Applications. Springer, 2nd edition.
# NOT RUN {data(learning.test)
res = gs(learning.test)
acyclic(res)
directed(res)
res = pdag2dag(res, ordering = LETTERS[1:6])
res
directed(res)
skeleton(res)
# }